// 代码整理：懒人之家 www.lanrenzhijia.com
jQuery.fn.rater = function(options) {
	
	// 默认参数
	var settings = {
		enabled : true,
		url : '',
		method : 'post',
		min : 1,
		max : 5,
		step : 1,
		value : null,
		after_click : null,
		before_ajax : null,
		after_ajax : null,
		title_format : null,
		info_format : null,
		image : 'images/stars.jpg',
		imageAll : 'images/stars-all.gif',
		defaultTips : true,
		clickTips : true,
		width : 24,
		height : 24
	};

	// 自定义参数
	if (options) {
		jQuery.extend(settings, options);
	}

	// 外容器
	var container = jQuery(this);

	// 主容器
	var content = jQuery('<ul class="rater-star"></ul>');
	content.css('background-image', 'url(' + settings.image + ')');
	content.css('height', settings.height);
	content.css('width', (settings.width * settings.step)
			* (settings.max - settings.min + settings.step) / settings.step);
	// 显示结果区域
	var result = jQuery('<div class="rater-star-result rater-start-position"></div>');
	container.after(result);
	// // 显示点击提示
	// var clickTips = jQuery('<div class="rater-tips rater-click-tips
	// "><span>Click the star!</span></div>');
	// if (!settings.clickTips) {
	// clickTips.hide();
	// }
	// container.after(clickTips);
	// 默认手形提示
	// var tipsItem = jQuery('<li class="rater-star-item-tips"></li>');
	// tipsItem.css('width', (settings.width * settings.step)
	// * (settings.max - settings.min + settings.step) / settings.step);
	// tipsItem.css('z-index', settings.max / settings.step + 2);
	// if (!settings.defaultTips) { // 隐藏默认的提示
	// tipsItem.hide();
	// }
	// content.append(tipsItem);
	// 当前选中的
	var item = jQuery('<li class="rater-star-item-current"></li>');
	item.css('background-image', 'url(' + settings.image + ')');
	item.css('height', settings.height);
	item.css('width', 0);
	item.css('z-index', settings.max / settings.step + 1);
	if (settings.value) {
		item.css('width', ((settings.value - settings.min) / settings.step + 1)
				* settings.step * settings.width);
	}
	;
	content.append(item);

	// 星星
	for (var value = settings.min; value <= settings.max; value += settings.step) {
		item = jQuery('<li class="rater-star-item "><div class="popinfo"></div></li>');
		if (typeof settings.info_format == 'function') {
			// item.attr('title' , settings.title_format(value));
			item.find(".popinfo").html(settings.info_format(value));
			item.find(".popinfo").css("left", (value - 1) * settings.width)
		} else {
			item.attr('title', value);
		}
		item.css('height', settings.height);
		item.css('width', (value - settings.min + settings.step)
				* settings.width);
		item.css('z-index', (settings.max - value) / settings.step + 1);
		item.css('background-image', 'url(' + settings.image + ')');

		if (!settings.enabled) { // 若是不能更改，则隐藏
			item.hide();
		}

		content.append(item);
	}

	content.mouseover(function() {
		if (settings.enabled) {
			jQuery(this).find('.rater-star-item-current').hide();
		}
	}).mouseout(function() {
		jQuery(this).find('.rater-star-item-current').show();
	})
	// 添加鼠标悬停/点击事件
	var shappyWidth = (settings.max - 2) * settings.width;
	var happyWidth = (settings.max - 1) * settings.width;
	var fullWidth = settings.max * settings.width;
	content
			.find('.rater-star-item')
			.mouseover(
					function() {
						jQuery(this).prevAll('.rater-star-item-tips').hide();
						jQuery(this).attr('class', 'rater-star-item-hover');
						jQuery(this).find(".popinfo").show();

						// 当3分时用笑脸表示
						if (parseInt(jQuery(this).css("width")) == shappyWidth) {
							jQuery(this).addClass('rater-star-happy');
						}
						// 当4分时用笑脸表示
						if (parseInt(jQuery(this).css("width")) == happyWidth) {
							jQuery(this).addClass('rater-star-happy');
						}
						// 当5分时用笑脸表示
						if (parseInt(jQuery(this).css("width")) == fullWidth) {
							jQuery(this).removeClass('rater-star-item-hover');
							jQuery(this).css('background-image',
									'url(' + settings.imageAll + ')');
							jQuery(this).css({
								cursor : 'pointer',
								position : 'absolute',
								left : '0',
								top : '0'
							});
						}
					})
			.mouseout(function() {
				var outObj = jQuery(this);
				outObj.css('background-image', 'url(' + settings.image + ')');
				outObj.attr('class', 'rater-star-item');
				outObj.find(".popinfo").hide();
				outObj.removeClass('rater-star-happy');
				jQuery(this).prevAll('.rater-star-item-tips').show();
				// var startTip=function () {
				// outObj.prevAll('.rater-star-item-tips').show();
				// };
				// startTip();
			})
			.click(
					function() {
						// jQuery(this).prevAll('.rater-star-item-tips').css('display','none');
						jQuery(this).parents(".rater-star").find(
								".rater-star-item-tips").remove();
						jQuery(this).parents(".goods-comm-stars").find(
								".rater-click-tips").remove();
						jQuery(this).prevAll('.rater-star-item-current').css(
								'width', jQuery(this).width());
						if (parseInt(jQuery(this).prevAll(
								'.rater-star-item-current').css("width")) == happyWidth
								|| parseInt(jQuery(this).prevAll(
										'.rater-star-item-current')
										.css("width")) == shappyWidth) {
							jQuery(this).prevAll('.rater-star-item-current')
									.addClass('rater-star-happy');
						} else {
							jQuery(this).prevAll('.rater-star-item-current')
									.removeClass('rater-star-happy');
						}
						if (parseInt(jQuery(this).prevAll(
								'.rater-star-item-current').css("width")) == fullWidth) {
							jQuery(this).prevAll('.rater-star-item-current')
									.addClass('rater-star-full');
						} else {
							jQuery(this).prevAll('.rater-star-item-current')
									.removeClass('rater-star-full');
						}
						var star_count = (settings.max - settings.min)
								+ settings.step;
						var current_number = jQuery(this).prevAll(
								'.rater-star-item').size() + 1;
						var current_value = settings.min + (current_number - 1)
								* settings.step;
						$.ajax({
							type : "POST",
							data : {
								grade : settings.title_format(current_value),
								oid : $('.goods-comm-stars')[0].id
							},
							url : "gradeFromHistory",
							success : function(data) {
								// mark success return oid
								var span=document.getElementById(data.oId);
								var input=span.getElementsByTagName("input")[0];
								if(data.evaluate==1){
									input.value="投诉";
									input.setAttribute("onclick", "onEvaluate(1,"+data.oId+")");	
								}else if(data.evaluate==3){
									input.parentNode.remove(input);
								}

							}
						});

						// 显示当前分值
						if (typeof settings.title_format == 'function') {

							jQuery(this)
									.parents()
									.nextAll('.rater-star-result')
									.html(
											settings
													.title_format(current_value)
													+ " points marked success!");
							// alert(settings.title_format(current_value) + "
							// points marked success!");
							//jQuery(this).parents().find('li[class^=rater-star-item]').unbind();
							$('#sssModal0').modal('hide');
							settings.title_format(0);
							$('.rater-star').find('.rater-star-item-current')[0].remove();

						}

						$("#StarNum").val(current_value);
						// jQuery(this).parents().next('.rater-star-result').html(current_value);
						// jQuery(this).unbind('mouseout',startTip)
					})

	jQuery(this).html(content);

}

// 星星打分
$(function() {
	var options = {
		max : 5,
		title_format : function(value) {
			var title = '';
			switch (value) {
			case 1:
				title = 1;
				break;
			case 2:
				title = 2;
				break;
			case 3:
				title = 3;
				break;
			case 4:
				title = 4;
				break;
			case 5:
				title = 5;
				break;
			default:
				title = value;
				break;
			}
			return title;
		},
		info_format : function(value) {
			var info = '';
			switch (value) {
			case 1:
				info = '<div class="info-box">1 point</div>';
				break;
			case 2:
				info = '<div class="info-box">2 points</div>';
				break;
			case 3:
				info = '<div class="info-box">3 points</div>';
				break;
			case 4:
				info = '<div class="info-box">4 points</div>';
				break;
			case 5:
				info = '<div class="info-box">5 points</div>';
				break;
			default:
				info = value;
				break;
			}
			return info;
		}
	}
	$('#rate-comm-1').rater(options);

	$('#complain-submit').click(function() {
		var oid = $('#mark-oid')[0].value;
		var complaints = $('#complaints')[0].value;

		$.ajax({
			type : "POST",
			data : {
				oid : oid,
				complaints : complaints
			},
			url : "complainFromHisoty",
			success : function(data) {
				// mark success return oid
				var span=document.getElementById(data.oId);
				var input=span.getElementsByTagName("input")[0];
				if(data.evaluate==2){
					input.value="评分";
					input.setAttribute("onclick", "onEvaluate(2,"+data.oId+")");	
				}else if(data.evaluate==3){
					input.parentNode.remove(input);
				}
				
			}
		});
	});
	
	
	
	

});